﻿
function ShowResult(error, str) {
	$('#modalInfo').css('color', error ? 'red' : 'green').text(str);
}

/// проверка кода регистрации. Если код введен неверно, то он будет обновлен и выслан клиенту заново
function CheckPin(contact, checkPinUrl) {
	var param = { pin: $("#pin").val(), id: $("#pin").attr("contact") };

	$.ajax({
		url: checkPinUrl,
		data: JSON.stringify(param),
		contentType: "application/json; charset=utf-8",
		dataType: 'JSON',
		type: 'POST',
		success: function (data) {

			ShowResult(data.error, data.text);
			if (!data.error) {
				$("#regForm").submit();
			}
		},
		error: function (x, a, b) {
			ShowResult(true, 'Не удалось получить ответ от сервера. Попробуйте позже.');
		}
	});
}

/// Сохранение контакта. Сохраняется небольшая часть контактной информации о клиенте.
function SaveContact(saveContactUrl, checkPinUrl) {
	var contactVal = {
		Name: $("#LastName").val() + " " + $("#FirstName").val() + " " + $("#MiddleName").val(),
		BirthDate: $("#BirthDate").val(),
		Phone: $("#Phone").val() + ", " + $("#Phone2").val(),
		Email: $("#Email").val(),
		Nationality: $("#Nationality").val()
	};

	$.ajax
	({
		url: saveContactUrl,
		data: JSON.stringify(contactVal),
		type: 'POST',
		error: function (x, a, b) {
			alert(a + " " + b);
		},
		contentType: "application/json; charset=utf-8",
		success: function (data) {
			$("#pin").attr("contact", data);
			$("#modalSave").off().click(function () {
				CheckPin(data, checkPinUrl);
			});
		}
	}
	);
}

/// Инициализация вьюхи
function InitializeIndexView() {
	// контролы даты
	$("#BirthDate").datepicker({ altFormat: "dd-mm-yy", dateFormat: "dd-mm-yy" });
	$("#DocDate").datepicker({ altFormat: "dd-mm-yy", dateFormat: "dd-mm-yy" });

	// Кнопка регистрации
	$("#regButton").click(function (event) {
		var form = $("#regForm");

		if (form.valid()) {
			SaveContact();
			$("#myModal").modal('show');
		}

		event.preventDefault();
	});

	// контрол для ввода национальности с подстановкой
	$("#Nationality").autocomplete({
		source: function (request, response) {
			$.ajax({
				url: '@Url.Action("GetCountriesJSON")',
				type: 'POST',
				dataType: 'json',
				data: { term: request.term, maxCount: 5 },
				success: function (data) {
					response($.map(data, function (item) {
						return {
							label: item.Name,
							value: item.Name,
							code: item.Code
						};
					}));
				}
			});
		},
		minLength: 2,
		select: function (event, ui) {
			$("#NationalityCode").val(ui.item.code);
		},
		open: function () {
			$(this).removeClass("ui-corner-all").addClass("ui-corner-top");
		},
		close: function () {
			$(this).removeClass("ui-corner-top").addClass("ui-corner-all");
		}
	});
}